package com.itheima.tlias84.config;

import com.aliyun.oss.OSS;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Component;

import java.io.IOException;
import java.io.InputStream;
import java.util.UUID;

/**
 * 阿里云Oss客户端（手动封装的）:通过这个类上传文件
 */
@Component
public class OssClient {

    @Resource
    OSS ossBean;
    @Resource
    AliyunOssConfig ossConfig;

    /**
     * 阿里云上传图片方法
     * @param fileName 文件名
     * @param inputStream 文件输入流对象
     * @return 上传后返回的是访问阿里云oss的url地址
     */
    public String upload(String fileName, InputStream inputStream){
        String suffix = fileName.substring(fileName.lastIndexOf("."));
        //生成不重复id
        String uuid = UUID.randomUUID().toString();
        // 填写Object完整路径，完整路径中不能包含Bucket名称，例如exampledir/exampleobject.txt。
        String objectName = uuid + suffix;
        //上传文件
        ossBean.putObject(ossConfig.getBucketName(), objectName, inputStream);
        //返回文件路径url
        String url = ossConfig.getUrl() + fileName;
        return url;
    }
}
